/**
 * TOML类型定义 (TypeScript)
 */

/**
 * TOML基础值类型
 */
export type TomlPrimitive = string | number | boolean | Date;

/**
 * TOML对象接口 - 支持索引签名
 */
export interface TomlObject {
  [key: string]: TomlValue;
}

/**
 * TOML数组类型
 */
export type TomlArray = Array<TomlValue>;

/**
 * TOML值的联合类型
 */
export type TomlValue = TomlPrimitive | TomlArray | TomlObject;

/**
 * TOML解析选项
 */
export interface TomlParseOptions {
  /**
   * 是否允许重复键（默认: false）
   */
  allowDuplicateKeys?: boolean;

  /**
   * 是否严格模式（默认: true）
   */
  strict?: boolean;

  /**
   * 最大嵌套深度（默认: 100）
   */
  maxDepth?: number;
}

/**
 * TOML解析结果
 */
export interface TomlParseResult {
  success: boolean;
  data?: TomlObject;
  error?: string;
  line?: number;
  column?: number;
}

/**
 * TOML解析选项
 */
export interface TomlParseOptions {
  allowMultilineStrings?: boolean;
  allowInlineComments?: boolean;
  strictMode?: boolean;
}
